//
// Created by Administrator on 2023/11/12.
//
#include "iostream"

using namespace std;
const int n;

void merge(int A[], int low, int mid, int high) {

    int B[n];

    for (int i = low; i <= high; ++i) B[i] = A[i];

    int i = low, j = mid + 1, k = i;

    for (; i <= mid && j <= high; ++k) {
        if (B[i] <= B[j]) A[k] = B[i++];
        else { A[k] = B[j++];}
    }

    while (i <= mid) A[k++] = B[i++];
    while (j <= high) A[k++] = B[j++];

}

void merge_sort(int A[], int low, int high) {
    if (low < high) {
        int mid = (low + high) / 2;
        merge_sort(A, low, mid);
        merge_sort(A, mid + 1, high);
        merge(A, low, mid, high);
    }

}

int main() {
    //int n;
    cin >> n;
    int A[n];
    for (int i = 0; i < n; ++i) {
        cin >> A[i];
    }
    merge_sort(A, 0, n - 1);
    for (int i = 0; i < n; ++i) {
        cout << A[i];
    }

}